package com.cy.pj.sys.service;

import java.util.Map;

import com.cy.pj.common.vo.PageObject;
import com.cy.pj.common.vo.UserDeptVo;
import com.cy.pj.sys.entity.User;

public interface UserService {
	
	Integer pageSize = 3;
	
	/**
	 * 基于用户名查询用户信息
	 * @param username 用户名,模糊查询
	 * @return 当前分页信息
	 */
	PageObject<UserDeptVo> findPageObject(String usermane,Long pageCurrent);

	/**
	 * 基于id查询用户信息
	 * @param id 用户Id
	 * @return 包含用户信息和其角色列表的映射
	 */
	Map<String,Object> findObjectById(Long userId);
	
	/**
	 * 基于id修改用户状态
	 * @param id 用户Id
	 * @param valid 更改的状态
	 * @param modifiedUser 修改用户
	 * @return 影响行数
	 */
	Integer validById(Long id,Integer valid,String modifiedUser);

	/**
	 * 保存用户信息
	 * @param user 用户信息
	 * @param roleIds 角色id
	 * @return 影响行数
	 */
	Integer saveObject(User user,Integer[] roleIds);

	/**
	 * 删除用户信息
	 * @param id 用户id
	 * @return 影响行数
	 */
	Integer deleteObject(Long id);

	
	/**
	 * 修改用户信息
	 * @param user 用户信息
	 * @param roleIds 角色id
	 * @return 影响行数
	 */
	Integer updateObject(User user,Integer[] roleIds);
	
	
}
